package com.beiming.libra.service;

import com.beiming.libra.domain.dto.requestdto.EmailRequestDTO;
import com.beiming.libra.domain.dto.requestdto.LoginRequestDTO;
import com.beiming.libra.domain.dto.requestdto.MobilePhoneRequestDTO;
import com.beiming.libra.domain.dto.requestdto.NameVerifyRequestDTO;
import com.beiming.libra.domain.dto.requestdto.SMSLoginRequestDTO;
import com.beiming.libra.domain.dto.requestdto.UserRegisterCompRequestDTO;
import com.beiming.libra.domain.dto.requestdto.UserRegisterInfoRequestDTO;
import com.beiming.libra.domain.dto.requestdto.UserRegisterRequestDTO;
import com.beiming.libra.domain.dto.requestdto.UserResetPwdRequestDTO;
import com.beiming.libra.domain.dto.responsedto.LoginInfoResponseDTO;

public interface PersonalService {
  /**
   * 注册(个人)
   */
  void register(UserRegisterRequestDTO dto);
  /**
   * 注册(企业)
   * @param dto
   */
  void registerForComp(UserRegisterCompRequestDTO dto);
  
  /**
   * 注册 -完善信息
   */
  void next(UserRegisterInfoRequestDTO dto);

  /**
   * 个人实名认证
   */
  void realNameVerify(NameVerifyRequestDTO dto);


  /**
   * 用户密码登录
   */
  LoginInfoResponseDTO login(LoginRequestDTO dto);

  /**
   * 短信验证码登录
   */
  LoginInfoResponseDTO smsLogin(SMSLoginRequestDTO dto);

  /**
   * 获取短信验证码(用户已注册)
   */
  String getSMSCode(MobilePhoneRequestDTO dto);

  /**
   * 获取短信验证码(用户未注册)
   */
  String getPhoneCode(MobilePhoneRequestDTO dto);

  /**
   * 获取邮件验证码
   */
  String getEmailCode(EmailRequestDTO dto);
  /**
   * 重置密码
   */
  void resetPwd(UserResetPwdRequestDTO dto);
  
  
  
  

}
